1. Field of the Invention
The present invention relates to communication networks and, more particularly to an enhanced media gateway.
2. Description of the Related Art
Data communication networks may include various routers, switches, bridges, hubs, and other network devices coupled to and configured to pass data to one another. These devices will be referred to herein as “network elements.” Data is communicated through the data communication network by passing protocol data units, such as Internet Protocol (IP) packets, Ethernet Frames, data cells, segments, or other logical associations of bits/bytes of data, between the network elements by utilizing one or more communication links between the devices. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
As communication networks have proliferated, corporations and individuals have become reliant on the networks for many different types of communication services. Initially, voice communications were carried on a voice network, and data communications such as e-mail were carried on a separate data (Internet Protocol or IP) network. For various reasons, those networks are being consolidated to enable telephone calls and other types of communication sessions to take place over data networks.
When a session is to be established on a data network such as an IP network, a signaling protocol such as Session Initiation Protocol (SIP) is generally used to establish the session. Once the session has been set up, the transport facilities of the IP network are used to enable the parties to communicate in the same manner as would occur if the session had been connected over an existing network such as the Public Switched Telephone Network (PSTN). One of the transport protocols commonly used to transport traffic on the underlying network is Real-time Transport Protocol (RTP). SIP is defined by the Internet Engineering Task Force (IETF) Request For Comments (RFC) 3261, and RTP is defined by IETF RFC 1889, the content of each of which is hereby incorporated by reference. SIP and RTP may be used to establish audio telephone calls, multimedia sessions involving both audio and video content, and other types of sessions.
FIG. 1 shows a common way in which a communication session such as a telephone or video call may be established on a network. As shown in FIG. 1, a user (initiator) 10 would like to initiate a new session to a second user (responder) 12. Initiator 10 will send a SIP invite message 11 to a call server 14 which implements a SIP proxy 15 on behalf of the user 10. The call server controls establishment of the call on the network. The call server will pass the message over user's local area network 16 to a Session Border Controller (SBC) 18. The SBC performs Network Address Translation (NAT) to hide the internal addresses used on the user's local area network and passes the SIP invite onto a provider network 20. Commonly this may be implemented by terminating an inbound SIP session from the call controller and originating a new outbound SIP session. A device that operates in this manner will be referred to as a Back-to-Back User Agent (B2BUA).
At the egress, the invite message is received by a SBC 22 associated with the responder's local area network 24 which performs the same functions as the SBC 18. A call server 26 implementing a SIP proxy 27 on the responder's network 24 will receive the SIP invite and pass it to the user (responder) 12. This path represents a signaling path between the initiator and responder. To accept the invite the responder will transmit an OK message 29 which will follow the signaling path in the reverse direction to reach the initiator 10. Other signaling messages may be exchanged along this path as well to allow the initiator and responder to negotiate parameters that will be used for the session.
Once the initiator and responder have completed the signaling, the session may be implemented along another path referred to herein as the media path. Specifically, the initiator 10 will transmit IP packets to a router 28 on the local area network 16. The router 28 will forward the packets to a gateway 30 which will forward the packets to the provider network 20. At the egress from the provider network, a gateway 32 to the responder's network 24 will receive the packets and pass them to a router 34 to be forwarded to the responder. The Real-time Transport Protocol (RTP) discussed above may be used to manage the end-to-end transport of the packets during the session between the initiator and responder. The reverse media path may similarly be used to transport packets from the responder to the initiator.
As part of the setup process, the call server 14 will negotiate a Coder/Decoder (Codec) that will be used to encode the voice/video data to be transmitted during the session. The Codec and other parameters such as voice quality enhancement features to be implemented for the session are determined by the call server and implemented on the call by the gateway 30. For example, the local area network and the provider network may be operating according to different protocols. The gateway 30 performs protocol translation to allow the packets associated with the session to pass from one network to the other. As part of the setup process, the call server will configure the gateway to implement the session using a protocol such as H.248. H.248 is a media gateway control protocol and is defined jointly by IETF RFC 3525 and ITU-T H.248-1, the content of each of which is hereby incorporated by reference. H.248 allows the call server 14 to define the necessary control mechanisms to configure the gateway 30 to support voice/fax calls and other types of sessions between the user IP network 16 and the Public Switched Telephone Network (PSTN) or between user's network 16 and another Internet Protocol network.
The call server 14 may also want to reserve bandwidth on the network for the call. There are many ways of reserving bandwidth on an IP network. For example, the Reservation Protocol (RSVP) may be used to establish a path through the network by causing bandwidth to be reserved on routers in the network. Thus, the call server 14 may also interface with one or more routers 28 on the network to establish the path through the network.
Although this system works well in general, there are times where it would be advantageous to reduce the number of network elements required to implement the system. Additionally, it would be advantageous to enable enhanced communication between the various network elements to enable enhanced services to be provided in connection with establishing voice and/or multimedia sessions on the network.